package com.dyzx.hbb.modules.sys.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.util.List;

@Schema(description = "用户信息视图对象")
@Data
public class UserVO {

    private Long id;

    /**
     * 账户
     * @schema 用户登录账号
     */
    @Schema(description = "用户登录账号")
    @NotNull(message = "账户不能为空")
    @JsonProperty("account")
    private String account;


    /**
     * 类型
     * @schema 用户类型,1:管理员 2:普通用户
     */
    @Schema(description = "用户类型,1:管理员 2:普通用户")
    @JsonProperty("type")
    private Integer type;

    /**
     * 操作岗
     * @schema 操作岗位,关联岗位表
     */
    @Schema(description = "操作岗位,关联岗位表")
    @JsonProperty("position")
    private Integer position;

    /**
     * 姓名
     * @schema 用户真实姓名
     */
    @Schema(description = "用户真实姓名")
    @JsonProperty("name")
    private String name;

    /**
     * 电话
     * @schema 用户联系电话
     */
    @Schema(description = "用户联系电话")
    @JsonProperty("phone")
    private String phone;

    /**
     * 头像
     * @schema 用户头像文件ID
     */
    @Schema(description = "用户头像文件ID")
    @JsonProperty("avatar")
    private Long avatar;

    /**
     * 微信唯一标识
     * @schema 微信openId,用于微信登录
     */
/*    @Schema(description = "微信openId,用于微信登录")
    private String openId;*/

    /**
     * 部门编号
     * @schema 所属部门ID
     */
    @Schema(description = "所属部门ID")
    @JsonProperty("dept_id")
    private Long deptId;



    /**
     * 报关行
     * @schema 报关行信息
     */
    @Schema(description = "报关行信息")
    @JsonProperty("broker")
    private String broker;






    /**
     * 企业编号
     * @schema 所属企业ID
     */
   /* @Schema(description = "所属企业ID")
    @JsonProperty("organ_id")
    private Long organId;*/

    /**
     * 角色
     * @schema 角色信息
     */
    @Schema(description = "角色信息")
    @JsonProperty("role")
    private String role;

    /**
     * 状态 字典信息：sys_global_status
     */
    @Schema(description = "状态")
    @JsonProperty("status")
    private Integer status;


    //String password
    @Schema(description = "密码")
    @JsonProperty("password")
    private String password;
}
